
#include <stdio.h>

// 定义函数别名
typedef int (*Func)(char *);

// 定义方法，接收函数
// int表示函数返回值，p表示函数本身，char*表示参数
void say(int (*p)(char *), char *msg) {
    int res = p(msg);
    printf("say method return:%d\n", res);
}

// 定义say函数所需的函数参数
int print(char *msg) {
    printf("msg=%s \n", msg);
    return 1;
}

// 函数指针
int main142() {
    int (*f)(char *) = print;
    Func func = print;
    // 使用typedef
    say(f, (char *) "hello");
    say(func, (char *) "hello");
    return 0;
}
